//package gallery;
//
//import android.content.Intent;
//import android.os.Bundle;
//import android.os.Environment;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.ViewGroup;
//import android.widget.AdapterView;
//import android.widget.AdapterView.OnItemClickListener;
//import android.widget.BaseAdapter;
//import android.widget.ImageView;
//import android.widget.ListView;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import com.laoxinwen.app.R;
//
//import java.io.File;
//import java.io.FileFilter;
//import java.io.Serializable;
//import java.text.DateFormat;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Calendar;
//import java.util.Collections;
//import java.util.Comparator;
//import java.util.LinkedList;
//import java.util.List;
//
//import common.BaseActivity;
//import util.IntentUtil;
//import util.bitmap.FileUtil;
//
///**
// * @Title: PersonalFileActivity.java
// * @Package: cn.evun.gap
// * @Description: 个人文档
// * @author: gengxin
// * @date: 2013-8-10
// * 三种模式：查看模式，文件选择模式，文件夹选择模式
// */
//public class ActSelectFolder extends BaseActivity implements OnClickListener, OnItemClickListener{
//	public static final String INTENT_ACTION = "a";
//	public static final String ACTION_SELECT_FOLDER = "c";
//	public static final String ACTION_SELECT_FILES = "d";
//    public static final String INTENT_KEY_DIR = "dir";
//	public static String INTENT_KEY_RESULT_DIRECTORY_PATH = "e";
//	/**
//	 * return List(File);
//	 */
//	public static String INTENT_KEY_RESULT_FILE_LIST = "f";
//	private View backBTN;
//	private View doneBTN;
//	private ListView listView;
//	private File[] curDirectoryFiles;
//	private File curDirectory;
//	private File rootFile;
//    private DirPathView dirPathView;
//	private TextView tvTitle;
//	private boolean selectFolder;
//	private List<File> fileList = new ArrayList<File>();
//	@Override
//	protected void onCreate(Bundle savedInstanceState) {
//		// TODO Auto-generated method stub
//		super.onCreate(savedInstanceState);
//		setContentView(R.layout.act_select_doc_folder);
//		initView();
//		initListener();
//		tvTitle = (TextView) findViewById(R.id.tv_title);
//		if(getIntent().getAction()==null || getIntent().getAction().equals(ACTION_SELECT_FOLDER)){
//			selectFolder = true;
//		}else{
//			tvTitle.setText("选择文件");
//		}
//		if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//			rootFile = Environment.getExternalStorageDirectory();
//			setFiles(rootFile);
//		}else{
//			ToastUtil.showToast(ActSelectFolder.this, "SD卡未挂载", Toast.LENGTH_LONG);
//		}
//        dirPathView = new DirPathView(getLayoutInflater(), f(R.id.module_dir_path), R.layout.item_dir) {
//            @Override
//            public void onRootDirClick(Object obj) {
//                File file = (File) obj;
//                setFiles(file);
//            }
//
//            @Override
//            public void onItemClick(Object obj) {
//                File file = (File) obj;
//                setFiles(file);
//            }
//        };
//        File rootDir = Environment.getExternalStorageDirectory();
//        dirPathView.setRootDir("SD卡",rootDir);
//
//        File dir = (File) getIntent().getSerializableExtra(INTENT_KEY_DIR);
//        if(null!=dir){
//            setFiles(dir);
//            LinkedList<File> linkedList = new LinkedList();
//            while(!rootDir.equals(dir)){
//                linkedList.addFirst(dir);
//                dir = dir.getParentFile();
//            }
//            for(File f : linkedList){
//                dirPathView.addDir(f.getName(), f);
//            }
//        }
//	}
//
//	private void initListener() {
//		backBTN.setOnClickListener(this);
//		doneBTN.setOnClickListener(this);
//		listView.setOnItemClickListener(this);
//	}
//
//	private void initView() {
//		backBTN = findViewById(R.id.back_btn);
//		doneBTN = findViewById(R.id.done_btn);
//		listView = (ListView) findViewById(R.id.file_list_lv);
//		listView.setAdapter(adapter);
//	}
//
//	private void setFiles(File directory){
//
//		curDirectory = directory;
//		if(directory.isDirectory()){
//			curDirectoryFiles = directory.listFiles(new FileFilter() {
//				@Override
//				public boolean accept(File pathname) {
//					if(selectFolder){
//						return pathname.isDirectory();
//					}else{
//						return true;
//					}
//				}
//			});
//			if(null!=curDirectoryFiles){
//				ArrayList<File> list = new ArrayList<File>(curDirectoryFiles.length);
//				for(File file : curDirectoryFiles){
//					list.add(file);
//				}
//				Collections.sort(list, new Comparator<File>() {
//					@Override
//					public int compare(File lhs, File rhs) {
//
//						if(lhs.isDirectory()==rhs.isDirectory()){
//							return lhs.getPath().compareToIgnoreCase(rhs.getPath());
//						}else if(lhs.isDirectory()&&rhs.isFile()){
//							return -1;
//						}
//						return 1;
//					}
//				});
//				list.toArray(curDirectoryFiles);
//			}
//
//		}
//		adapter.notifyDataSetChanged();
//	}
//
//
//
//	@Override
//	public void onClick(View v) {
//		switch (v.getId()) {
//		case R.id.back_btn:
//            setResult(RESULT_CANCELED);
//			finish();
//			break;
//		case R.id.done_btn:
//			Intent it = getIntent();
//			it.putExtra(INTENT_KEY_RESULT_DIRECTORY_PATH, curDirectory.getPath());
//			it.putExtra(INTENT_KEY_RESULT_FILE_LIST, (Serializable)fileList);
//			setResult(RESULT_OK, it);
//			finish();
//			break;
//		}
//	}
//
//
//	@Override
//	public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//		File file = curDirectoryFiles[position];
//		if(file.isDirectory()){
//            dirPathView.addDir(file.getName(), file);
//			setFiles(file);
//		}else{
//			if(fileList.contains(file)){
//				fileList.remove(file);
//			}else{
//				fileList.add(file);
//			}
//			if(fileList.isEmpty()){
//				tvTitle.setText("选择文件");
//			}else{
//				tvTitle.setText("已选择("+fileList.size()+")");
//			}
//			adapter.notifyDataSetChanged();
//		}
//	}
//
//
//	public BaseAdapter adapter = new BaseAdapter(){
//		@Override
//		public int getCount() {
//			return curDirectoryFiles==null ? 0 : curDirectoryFiles.length;
//		}
//
//		@Override
//		public Object getItem(int position) {
//			return curDirectoryFiles[position];
//		}
//
//		@Override
//		public long getItemId(int position) {
//			return position;
//		}
//
//		@Override
//		public View getView(int position, View convertView, ViewGroup parent) {
//			// TODO Auto-generated method stub
//			ViewHolder holder = null;
//			if(convertView == null){
//				holder = new ViewHolder();
//				convertView = getLayoutInflater().inflate(R.layout.item_person_doc_left, parent, false);
//                holder.fileTimeTv = (TextView)convertView.findViewById(R.id.file_time_tv);
//                holder.ivMenu = (ImageView)convertView.findViewById(R.id.iv_menu);
//                holder.ivSelectCbx = (ImageView)convertView.findViewById(R.id.iv_select_cbx);
//                holder.flagTypeIV = (ImageView) convertView.findViewById(R.id.flag_type_icon_iv);
//                holder.fileName = (TextView) convertView.findViewById(R.id.file_name_tv);
//				holder.fileSizeTv = (TextView)convertView.findViewById(R.id.file_size_tv);
//                convertView.setTag(holder);
//			} else {
//				holder = (ViewHolder) convertView.getTag();
//			}
//			File file = curDirectoryFiles[position];
//            holder.fileTimeTv.setVisibility(View.VISIBLE);
//            holder.ivMenu.setVisibility(View.GONE);
//			if (file.isDirectory()) {
//				holder.flagTypeIV.setImageResource(R.drawable.folder);
//				holder.ivSelectCbx.setVisibility(View.GONE);
//                holder.fileSizeTv.setVisibility(View.GONE);
//			} else {
//				holder.flagTypeIV.setBackgroundResource(R.drawable.file);
//                TypeUtil.setTypeIcon(holder.flagTypeIV, IntentUtil.getFileSuffix(file));
//				holder.ivSelectCbx.setVisibility(View.VISIBLE);
//                holder.fileSizeTv.setVisibility(View.VISIBLE);
//                holder.ivSelectCbx.setSelected(fileList.contains(file));
//
//			}
//			holder.fileName.setText(file.getName());
//            DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm");
//            Calendar date = Calendar.getInstance();
//            date.setTimeInMillis(file.lastModified());
//            holder.fileTimeTv.setText(df.format(date.getTime()));
//            long fileSize = file.length();
//            String sizeStr = FileUtil.getFormatedFileSize(fileSize);
//            holder.fileSizeTv.setText(sizeStr);
//            final int po = position;
//            convertView.setOnClickListener(new OnClickListener() {
//                @Override
//                public void onClick(View v) {
//                    File file = curDirectoryFiles[po];
//                    if(file.isDirectory()){
//                        dirPathView.addDir(file.getName(), file);
//                        setFiles(file);
//                    }else{
//                        if(fileList.contains(file)){
//                            fileList.remove(file);
//                        }else{
//                            fileList.add(file);
//                        }
//                        if(fileList.isEmpty()){
//                            tvTitle.setText("选择文件");
//                        }else{
//                            tvTitle.setText("已选择("+fileList.size()+")");
//                        }
//                        adapter.notifyDataSetChanged();
//                    }
//                }
//            });
//            return convertView;
//		}
//
//		class ViewHolder{
//            public ImageView flagTypeIV;
//            public TextView fileTimeTv;
//            public ImageView ivSelectCbx;
//            public ImageView ivMenu;
//            public TextView fileName;
//            public TextView fileSizeTv;
//		}
//	};
//}
//
//
